package com.example.hospitalsystem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.hospitalsystem.pojo.dto.buylog.LogPageQueryDto;
import com.example.hospitalsystem.pojo.dto.patient.AddPatientDto;
import com.example.hospitalsystem.pojo.dto.patient.ChangePatientDto;
import com.example.hospitalsystem.pojo.dto.patient.PatientPageQueryDto;
import com.example.hospitalsystem.pojo.entity.BuyMedicineLog;
import com.example.hospitalsystem.pojo.entity.Department;
import com.example.hospitalsystem.pojo.entity.Patient;
import com.example.hospitalsystem.pojo.entity.PrescriptionPharmacy;
import com.example.hospitalsystem.pojo.vo.PatientItemVO;
import com.example.hospitalsystem.result.Result;

import java.awt.geom.RectangularShape;
import java.util.List;

public interface PatientService extends IService<Patient> {
    public Result<Object> getAllPatientInfo(PatientPageQueryDto patientPageQueryDto);

    public Result<Object> changePatientInfo(ChangePatientDto changePatientDto);

    public Result<Object> addPatientInfo(Patient patient);

    public Result<Object> deletePatientInfo(String password);

    List<PatientItemVO>  getPatientItem(Integer patientId);

    Result<Object> paymentAmountByPatient(Integer patientId);

    Result<Object> getPatientInfo();

    Result<Object> getUserPatientInfo();

    List<PrescriptionPharmacy> getPharmacyByPatient();

    List<Patient> searchPatient(String key);

    Result<Object> getAllBuyLog(LogPageQueryDto logPageQueryDto);

    Result<Object> deleteLog(int id);

    List<BuyMedicineLog> searchLog(String key);
}
